package com.blankland.dataanalysis.domain.vo;

import lombok.Data;

import java.util.List;

/**
 *
 *
 * 根据菜单数据，封装的路由配置信息
 *
 {
 path: '/system',    //路径
 component: Layout,  //布局方式：Layout表示折叠布局
 name: 'System',     //名称
 meta: { title: '系统管理', icon: 'el-icon-s-help' },//标题和图标
 children: [         //子路由
 {
 path: 'sysRole',
 name: 'SysRole',
 component: () => import('@/views/system/sysRole/index'),//角色管理页面
 meta: { title: '角色管理', icon: 'el-icon-s-custom' }
 },
 {
 path: 'sysUser',
 name: 'SysUser',
 component: () => import('@/views/system/sysUser/index'),
 meta: { title: '用户管理', icon: 'el-icon-user-solid' }
 },
 {
 path: 'sysMeun',
 name: 'SysMenu',
 component: () => import('@/views/system/sysMenu/index'),
 meta: { title: '菜单管理', icon: 'el-icon-s-unfold' }
 },
 // 给角色分配菜单对应的路由
 {
 path: 'assignAuth',
 component: () => import('@/views/system/sysRole/assignAuth'),
 meta: {
 activeMenu: '/system/sysRole',
 title: '角色授权'
 },
 hidden: true, //隐藏路由，不用显示，只实现页面跳转
 }
 ]
 },
 *
 *
 */
@Data
public class RouterVo {
    /**
     * sys_menu表中的菜单名称（路由 名称）
     *
     */
    //private String name;

    /**
     * sys_menu表中的路由地址（路由地址） => 对应前端路由信息 path: '/system'
     */
    private String path;

    /**
     * 是否隐藏路由，当设置 true 的时候该路由不会再侧边栏出现 => 对应前端路由信息 hidden: true,
     */
    private boolean hidden;

    /**
     * sys_menu表中的组件地址  => 对应前端路由信息  component: () => import('@/views/system/sysMenu/index'),
     */
    private String component;

    /**
     * 当你一个路由下面的 children 声明的路由大于1个时，自动会变成嵌套的模式--如组件页面
     */
    private Boolean alwaysShow;

    /**
     * 其他元素 => 对应前端路由信息90
     *                  meta: {
     *                      activeMenu: '/system/sysRole',
     *                      title: '角色授权'
     *                   },
     */
    private MetaVo meta;

    /**
     * 子路由 => 对应前端路由信息 children: [{},{}]
     */
    private List<RouterVo> children;


}
